from typing import Optional

class RequestConfig:
    """
    请求配置类，管理请求参数（如超时时间、代理配置），便于扩展
    """

    def __init__(self, timeout: int = 10, proxy: Optional[str] = None):
        """
        初始化请求配置

        Args:
            timeout: 超时时间（秒）
            proxy: 代理地址（如 'http://127.0.0.1:7890'），无代理可为None
        """
        self.timeout = timeout
        self.proxy = proxy

    def to_dict(self) -> dict:
        """
        返回配置的字典表示，便于与requests等库集成
        """
        config = {
            'timeout': self.timeout
        }
        if self.proxy:
            config['proxies'] = {
                'http': self.proxy,
                'https': self.proxy
            }
        return config